package com.itheima.domain;

import java.util.ArrayList;

/*
    测试类:
    定义方法 public static int getMinAge(ArrayList<Person> list)返回集合中最小的年龄
    定义方法 public static int getAvgAge(ArrayList<Person> list)返回集合中的对象平均年龄

    实例化三个Person对象，属性分别为："刘备",39、"关羽",35、"张飞",34
    将对象分别添加到合适的集合中
    分别测试两个方法
 */
public class PersonTist {
    public static void main(String[] args) {
        //实例化三个Person对象
        Person p1 = new Person("刘备", 39);
        Person p2 = new Person("关羽", 35);
        Person p3 = new Person("张飞", 34);

        //将对象分别添加到合适的集合中
        ArrayList<Person> list = new ArrayList<>();
        list.add(p1);
        list.add(p2);
        list.add(p3);

        //测试方法
        System.out.println("集合中元素的最小年龄：" + getMinAge(list));
        System.out.println("集合中元素的平均年龄：" + getAvgAge(list));
    }

    //定义方法 返回集合中最小的年龄
    public static int getMinAge(ArrayList<Person> list) {
        //暂且认为集合第一个元素的年龄为min
        int min = list.get(0).getAge();
        //遍历集合
        for (int i = 0; i < list.size(); i++) {
            //获取当前对象
            Person p = list.get(i);
            //判断
            if (p.getAge() < min) {
                min = p.getAge();
            }
        }
        return min;
    }

    //定义方法 返回集合中的对象平均年龄
    public static int getAvgAge(ArrayList<Person> list) {
        //定义求和变量
        int sum = 0;
        //遍历集合
        for (int i = 0; i < list.size(); i++) {
            //获取当前对象
            Person p = list.get(i);
            //求元素年龄和
            sum += p.getAge();
        }
        //返回结果
        return sum / list.size();
    }
}
